package com.ruoyi.collect.service;

import com.ruoyi.collect.domain.CollectSite;
import java.util.List;

/**
 * 采集站点服务接口
 *
 * @author ruoyi
 * @date 2025-11-07
 */
public interface ICollectSiteService {
    /**
     * 查询采集站点
     *
     * @param siteId 站点ID
     * @return 采集站点
     */
    public CollectSite selectCollectSiteById(Long siteId);

    /**
     * 查询采集站点列表
     *
     * @param collectSite 采集站点
     * @return 采集站点列表
     */
    public List<CollectSite> selectCollectSiteList(CollectSite collectSite);

    /**
     * 新增采集站点
     *
     * @param collectSite 采集站点
     * @return 结果
     */
    public int insertCollectSite(CollectSite collectSite);

    /**
     * 修改采集站点
     *
     * @param collectSite 采集站点
     * @return 结果
     */
    public int updateCollectSite(CollectSite collectSite);

    /**
     * 批量删除采集站点
     *
     * @param siteIds 需要删除的站点ID
     * @return 结果
     */
    public int deleteCollectSiteByIds(Long[] siteIds);

    /**
     * 删除采集站点
     *
     * @param siteId 站点ID
     * @return 结果
     */
    public int deleteCollectSiteById(Long siteId);

    /**
     * 测试站点连接
     *
     * @param siteId 站点ID
     * @return 如果连接成功返回true
     */
    public boolean testSiteConnection(Long siteId);

    /**
     * 获取活动的采集站点
     *
     * @return 活动站点列表
     */
    public List<CollectSite> selectActiveSites();

    /**
     * 删除采集站点的所有数据
     *
     * @param siteId 站点ID
     * @return 删除统计信息
     */
    public java.util.Map<String, Object> deleteCollectedData(Long siteId);

    /**
     * 按站点标识删除采集数据
     *
     * @param siteFlag 站点标识
     * @return 删除统计信息
     */
    public java.util.Map<String, Object> deleteCollectedDataBySiteFlag(String siteFlag);

    /**
     * 获取站点采集数据统计
     *
     * @param siteId 站点ID
     * @return 数据统计信息
     */
    public java.util.Map<String, Object> getCollectedDataStats(Long siteId);
}